﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using WX.WMS.DataModel;
namespace WX.WMS.BLL
{
    public class InOutStoreReportBLL : BaseBLL
    {
        public class VInOutStoreView : V_进出仓库存明细
        {

        }

        public IEnumerable<VInOutStoreView> GetInOutStoreView()
        {
            var source = from t in new BaseDAO().V_进出仓库存明细
                         select new VInOutStoreView
                         {
                             FLOOR_ID = t.FLOOR_ID,
                              进仓单号 = t.进仓单号,
                             备注 = t.备注,
                             仓号 = t.仓号,
                             层 = t.层,
                             产地 = t.产地,
                             尺寸 = t.尺寸,
                             出仓备注 = t.出仓备注,
                             出仓大件数 = t.出仓大件数,
                             出仓单备注 = t.出仓单备注,
                             出仓净重 = t.出仓净重,
                             出仓毛重 = t.出仓毛重,
                             出仓日期 = t.出仓日期,
                             出仓小件数 = t.出仓小件数,
                             大件数 = t.大件数,
                             单备注 = t.单备注,
                             供应商批次 = t.供应商批次,
                             关键规格 = t.关键规格,
                             规格 = t.规格,
                             柜号_车号 = t.柜号_车号,
                             货物大类 = t.货物大类,
                             件数单位 = t.件数单位,
                             进仓日期 = t.进仓日期,
                             净重 = t.净重,
                             客户名称 = t.客户名称,
                             库存类型 = t.库存类型,
                             流水号 = t.流水号,
                             毛重 = t.毛重,
                             牌子 = t.牌子,
                             批号 = t.批号,
                             期末大件数 = t.期末大件数,
                             期末净重 = t.期末净重,
                             期末毛重 = t.期末毛重,
                             期末小件数 = t.期末小件数,
                             区域 = t.区域,
                             商品编码 = t.商品编码,
                             商品名称 = t.商品名称,
                             商品明细ID = t.商品明细ID,
                             条码 = t.条码,
                             箱号 = t.箱号,
                             小件数 = t.小件数,
                             型号 = t.型号,
                             重量单位 = t.重量单位,
                             子批号 = t.子批号
                         };
            return source;
           
        }
        public IEnumerable<VInOutStoreView> GetInOutStoreView(DateTime begin, DateTime end)
        {
            var source = from t in new BaseDAO().V_进出仓库存明细
                         select t;
            if (begin != DateTime.MinValue) source.Where(t => t.进仓日期 >= begin);
            if (end != DateTime.MinValue) source.Where(t => t.进仓日期 <= end);
            source = source.OrderBy(t => t.商品名称).OrderBy(t => t.进仓日期);
            return from t in source select new VInOutStoreView
                         {
                             FLOOR_ID = t.FLOOR_ID,
                             备注 = t.备注,
                             仓号 = t.仓号,
                             层 = t.层,
                             产地 = t.产地,
                             尺寸 = t.尺寸,
                             出仓备注 = t.出仓备注,
                             出仓大件数 = t.出仓大件数,
                             出仓单备注 = t.出仓单备注,
                             出仓净重 = t.出仓净重,
                             出仓毛重 = t.出仓毛重,
                             出仓日期 = t.出仓日期,
                             出仓小件数 = t.出仓小件数,
                             大件数 = t.大件数,
                             单备注 = t.单备注,
                             供应商批次 = t.供应商批次,
                             关键规格 = t.关键规格,
                             规格 = t.规格,
                             柜号_车号 = t.柜号_车号,
                             货物大类 = t.货物大类,
                             件数单位 = t.件数单位,
                             进仓日期 = t.进仓日期,
                             净重 = t.净重,
                             客户名称 = t.客户名称,
                             库存类型 = t.库存类型,
                             流水号 = t.流水号,
                             毛重 = t.毛重,
                             牌子 = t.牌子,
                             批号 = t.批号,
                             期末大件数 = t.期末大件数,
                             期末净重 = t.期末净重,
                             期末毛重 = t.期末毛重,
                             期末小件数 = t.期末小件数,
                             区域 = t.区域,
                             商品编码 = t.商品编码,
                             商品名称 = t.商品名称,
                             商品明细ID = t.商品明细ID,
                             条码 = t.条码,
                             箱号 = t.箱号,
                             小件数 = t.小件数,
                             型号 = t.型号,
                             重量单位 = t.重量单位,
                             子批号 = t.子批号
                         };
           
        }
    }
}
